#include <iostream>
#include <queue>
using namespace std;
const int maxn=1e5+10;
const int mod=998244353;
int main()
{
    queue <long long> ans;
    queue <long long> ans2;
    queue <long long> ans3;
    int a;
    cin >> a;
    int n;
    cin >> n;
    if(n==1) cout << a << endl;
    else if(n>1)
    {
    	int count=1;
    	ans.push(a);
    	//cout << ans.front() << endl;
    	while(count<n)
    	{
    		ans2.push(2*ans.front()+1);
    		ans3.push(3*ans.front()+1);
    		//cout << ans2.front()  << " " << ans3.front() << endl;
            ans.pop();
            if(ans2.front()==ans3.front())
	        {
		        ans.push(ans2.front());
		        ans2.pop();
		        ans3.pop();
		        //cout << ans.front() << endl;
            }
            else if(ans2.front()<ans3.front())
	        {
		        ans.push(ans2.front());
		        ans2.pop();
		        //cout << ans.front() << endl;
            }
            else if(ans2.front()>ans3.front())
	        {
		        ans.push(ans3.front());
	            ans3.pop();
	            //cout << ans.front() << endl;
            }
            count++;
        }
        cout << ans.front() << endl;
	}
return 0;
}
    
    
    
